package com.mobile.service.mapper;

import com.mobile.service.dto.InsuranceApprovalDTO;
import com.mobile.service.dto.InsuranceApprovalQueryDTO;
import com.mobile.service.entity.InsuranceApproval;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 保险审核 Mapper 接口
 */
@Mapper
public interface InsuranceApprovalMapper {

    /**
     * 添加保险审核信息
     * @param insuranceApproval 保险审核实体
     * @return 影响行数
     */
    int insertInsuranceApproval(InsuranceApproval insuranceApproval);

    /**
     * 分页获取保险审核列表
     * @param queryDTO 查询条件
     * @return 保险审核列表
     */
    List<InsuranceApprovalDTO> insuranceApprovallistPage(InsuranceApprovalQueryDTO queryDTO);

    /**
     * 条件查询保险审核列表
     * @param queryDTO 查询条件
     * @return 保险审核列表
     */
    List<InsuranceApprovalDTO> getInsuranceApprovalList(InsuranceApprovalQueryDTO queryDTO);

    /**
     * 根据主键获取保险审核信息
     * @param id 主键ID
     * @return 保险审核信息
     */
    InsuranceApprovalDTO getInsuranceApprovalById(@Param("id") Integer id);

    /**
     * 根据审核人姓名获取保险审核信息
     * @param auditorName 审核人姓名
     * @return 保险审核信息
     */
    InsuranceApprovalDTO getInsuranceApprovalByAuditorName(@Param("auditorName") String auditorName);

    /**
     * 修改保险审核信息
     * @param insuranceApproval 保险审核实体
     * @return 影响行数
     */
    int updateInsuranceApproval(InsuranceApproval insuranceApproval);

    /**
     * 删除保险审核信息
     * @param id 主键ID
     * @return 影响行数
     */
    int deleteInsuranceApproval(@Param("id") Integer id);
}